package 强化训练;

public class day26有几种青蛙跳台阶的方法 {


    /**
     * 青蛙跳台阶，青蛙可以一次跳1个台阶，可以一次跳2个台阶，也可以一次跳n个台阶，问青蛙从第一个台阶跳到target的台阶共有多少种跳法
     * ————————————————————————————————————————————————————————————
     *
     * ————————————————————————————————————————————————————————————
     * 相当于将target转换为一个二进制数，将这个二进制数转化为二进制，保证二进制的数的最高位为1，其余各位随意，问共有多少个数
     *
     * 那么就只需要保证最高位为1，将 1 左移 --target位几位结果  ，
     * 如：有四位：需要将需要直到  1 * * *  有几个数字，即有8种方式  ,1 << 3 三位 = 8
     * @param target
     * @return
     */
    public int ways(int target){
        return 1 << -- target;
    }

}
